11.  objekt orientierte programmierung

11.5  objekt-felder

Unter dem schlagwort kann man verschiedene dinge verstehen, beispielsweise ein feld von referenzen auf objekte. Das ist einfach und wurde im vorhergehenden beispiel (11.4.4) schon vorgeführt. Es geht auch etwas anders, etwa eine eigenschaft, die nicht einen wert, sondern ein feld von werten darstellt. Das sieht dann so aus:

In der klasse Artikel gibt es die statische eigenschaft $namtab, die aus einem feld von zeichenketten besteht, außerdem die eigenschaft $artnam mit dem typ public. Beim erzeugen eines objekts mit dem konstruktor wird der parameter $nr übergeben. Der konstruktor entnimmt damit aus $namtab eine zeichenkette und versorgt damit die eigenschaft $artnam. Diese eigenschaft des objekts wird dann angezeigt. Das ist alles.

gewählt wurde: harke

Komplizierter wird die sache, wenn eine eigenschaft ein feld von objekten ist und zwar von objekten einer anderen klasse, wie in dem nächsten beispiel.

beispiel
Die klasse Person hat die eigenschaft $bestell, der man überhaupt nicht ansieht, dass sich dahinter ein feld von objekten der klasse Bestellen verbirgt. Beim erzeugen eines objekts wird dem konstruktor eine referenz auf ein solches feld übergeben (s.u), der konstruktor versorgt damit die eigenschaft $bestell, d.h. diese eigenschaft enthält dann eine referenz auf ein feld von referenzen, die auf objekte der klasse Bestellen verweisen. Die klasse Person enthält ferner die methode zusatz, mit der ein objekt der klasse Bestellen erzeugt wird. Mit der referenz auf dieses objekt wird das feld $bestell erweitert. Es gibt ferner noch die methode anzeigen, mit der ein objekt angezeigt wird. Dazu wird dann noch die methode zeigen der klasse Bestellen benötigt. Das ist natürlich unnötig kompliziert, aber es soll ja gezeigt werden, was man so alles machen kann.

Die klasse Bestellen wiederholt das spiel des vorigen beispiels (eigenschaft als feld von zeichenketten), außerdem gibt es noch die anzahl der artikel.

ausführen des beispiels
Es wird das objekt Testfall der klasse Person erzeugt, dem konstruktor wird übergeben: name, vorname und ein feld mit zwei objekten der klasse Bestellen. Das objekt wird angezeigt. Dann werden mit der methode zusatz für das objekt Testfall zwei weitere objekte der klasse Bestellen erzeugt. Die unsinnige angabe -3 als artikelnummer soll nur verdeutlichen, dass man bei klassendefinitionen auch mit fehlerhaften angaben rechnen sollte.

Rembremerdeng Wrdlbrmft
- nr.: 1 / spaten - menge: 6
- nr.: 2 / rechen - menge: 5

testfall ergänzt

Rembremerdeng Wrdlbrmft
- nr.: 1 / spaten - menge: 6
- nr.: 2 / rechen - menge: 5
- nr.: 3 / harke - menge: 10
- nr.: 0 / unbekannt - menge: 15


zum untermenü


    IMPRESSUM  

    KONTAKT  

    PRIVAT  

    D O K U  


  H T M L  
  C S S  
  p h p
  My S Q L  
  JAVASCRIPT